package com.geezdata.cps.sdk3rd.youzan.domain;

import java.math.BigDecimal;
import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;

public class Order {
    
    private Integer oid; //  交易明细编号。该编号并不唯一，只用于区分交易内的多条明细记录
    
    @JSONField(name="num_iid")
    private Integer numIid; //  商品数字编号
    
    @JSONField(name="sku_id")
    private Integer skuId; //  sku的id，sku_id 在系统里并不是唯一的，结合商品id一起使用才是唯一的。
    
    @JSONField(name="sku_unique_code")
    private String skuUniqueCode; //  sku在系统中的唯一编号，可以在开发者的系统中用作 sku 的唯一id，但不能用于调用接口
    
    private Integer num; //  商品购买数量
    
    @JSONField(name="outer_sku_id")
    private String outerSkuId; //  商家编码（商家为sku设置的外部编号）
    
    @JSONField(name="outer_item_id")
    private String outerItemId; //  商品货号（商家为商品设置的外部编号）
    
    private String title; //  商品标题
    
    @JSONField(name="seller_nick")
    private String sellerNick; //  卖家昵称
    
    @JSONField(name="fenxiao_price")
    private BigDecimal fenxiaoPrice; //  商品在分销商那边的出售价格。精确到2位小数；单位：元。如果是采购单才有值，否则值为 0
    
    @JSONField(name="fenxiao_payment")
    private BigDecimal fenxiaoPayment; //  商品在分销商那边的实付金额。精确到2位小数；单位：元。如果是采购单才有值，否则值为 0
    
    private BigDecimal price; //  商品价格。精确到2位小数；单位：元
    
    @JSONField(name="total_fee")
    private BigDecimal totalFee; //  应付金额（商品价格乘以数量的总金额）
    
    @JSONField(name="discount_fee")
    private BigDecimal discountFee; //  交易明细内的优惠金额。精确到2位小数，单位：元
    
    private BigDecimal payment; //  实付金额。精确到2位小数，单位：元
    
    @JSONField(name="sku_properties_name")
    private String skuPropertiesName; //  sku的值，即：商品的规格。如：机身颜色:黑色;手机套餐:官方标配
    
    @JSONField(name="pic_path")
    private String picPath; //  商品主图片地址
    
    @JSONField(name="pic_thumb_path")
    private String picThumbPath; //  商品主图片缩略图地址
    
    @JSONField(name="item_type")
    private Integer itemType; //  商品类型。0：普通商品；10：分销商品
    
    @JSONField(name="state_str")
    private String stateStr; //  商品状态 
    
    @JSONField(name="item_refund_state")
    private String itemRefundState; //  商品退款状态 
    
    @JSONField(name="is_virtual")
    private Integer isVirtual; //  1 虚拟商品 0 非虚拟商品 
    
    @JSONField(name="is_present")
    private Integer isPresent; //  1 赠品商品 0 普通商品 
    
    @JSONField(name="refunded_fee")
    private BigDecimal refundedFee; //  退款金额 
    
    @JSONField(name="allow_send")
    private Integer allowSend; //  是否允许发货 1 可以发货 0 不能发货 
    
    private List<BuyerMessage> buyerMessages;
    
    private List<OrderPromotionDetail> orderPromotionDetails;

    public Integer getOid() {
        return oid;
    }

    public void setOid(Integer oid) {
        this.oid = oid;
    }

    public Integer getNumIid() {
        return numIid;
    }

    public void setNumIid(Integer numIid) {
        this.numIid = numIid;
    }

    public Integer getSkuId() {
        return skuId;
    }

    public void setSkuId(Integer skuId) {
        this.skuId = skuId;
    }

    public String getSkuUniqueCode() {
        return skuUniqueCode;
    }

    public void setSkuUniqueCode(String skuUniqueCode) {
        this.skuUniqueCode = skuUniqueCode;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public String getOuterSkuId() {
        return outerSkuId;
    }

    public void setOuterSkuId(String outerSkuId) {
        this.outerSkuId = outerSkuId;
    }

    public String getOuterItemId() {
        return outerItemId;
    }

    public void setOuterItemId(String outerItemId) {
        this.outerItemId = outerItemId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSellerNick() {
        return sellerNick;
    }

    public void setSellerNick(String sellerNick) {
        this.sellerNick = sellerNick;
    }

    public BigDecimal getFenxiaoPrice() {
        return fenxiaoPrice;
    }

    public void setFenxiaoPrice(BigDecimal fenxiaoPrice) {
        this.fenxiaoPrice = fenxiaoPrice;
    }

    public BigDecimal getFenxiaoPayment() {
        return fenxiaoPayment;
    }

    public void setFenxiaoPayment(BigDecimal fenxiaoPayment) {
        this.fenxiaoPayment = fenxiaoPayment;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(BigDecimal totalFee) {
        this.totalFee = totalFee;
    }

    public BigDecimal getDiscountFee() {
        return discountFee;
    }

    public void setDiscountFee(BigDecimal discountFee) {
        this.discountFee = discountFee;
    }

    public BigDecimal getPayment() {
        return payment;
    }

    public void setPayment(BigDecimal payment) {
        this.payment = payment;
    }

    public String getSkuPropertiesName() {
        return skuPropertiesName;
    }

    public void setSkuPropertiesName(String skuPropertiesName) {
        this.skuPropertiesName = skuPropertiesName;
    }

    public String getPicPath() {
        return picPath;
    }

    public void setPicPath(String picPath) {
        this.picPath = picPath;
    }

    public String getPicThumbPath() {
        return picThumbPath;
    }

    public void setPicThumbPath(String picThumbPath) {
        this.picThumbPath = picThumbPath;
    }

    public Integer getItemType() {
        return itemType;
    }

    public void setItemType(Integer itemType) {
        this.itemType = itemType;
    }

    public String getStateStr() {
        return stateStr;
    }

    public void setStateStr(String stateStr) {
        this.stateStr = stateStr;
    }

    public String getItemRefundState() {
        return itemRefundState;
    }

    public void setItemRefundState(String itemRefundState) {
        this.itemRefundState = itemRefundState;
    }

    public Integer getIsVirtual() {
        return isVirtual;
    }

    public void setIsVirtual(Integer isVirtual) {
        this.isVirtual = isVirtual;
    }

    public Integer getIsPresent() {
        return isPresent;
    }

    public void setIsPresent(Integer isPresent) {
        this.isPresent = isPresent;
    }

    public BigDecimal getRefundedFee() {
        return refundedFee;
    }

    public void setRefundedFee(BigDecimal refundedFee) {
        this.refundedFee = refundedFee;
    }

    public Integer getAllowSend() {
        return allowSend;
    }

    public void setAllowSend(Integer allowSend) {
        this.allowSend = allowSend;
    }

    public List<BuyerMessage> getBuyerMessages() {
        return buyerMessages;
    }

    public void setBuyerMessages(List<BuyerMessage> buyerMessages) {
        this.buyerMessages = buyerMessages;
    }

    public List<OrderPromotionDetail> getOrderPromotionDetails() {
        return orderPromotionDetails;
    }

    public void setOrderPromotionDetails(List<OrderPromotionDetail> orderPromotionDetails) {
        this.orderPromotionDetails = orderPromotionDetails;
    }
   
        
    
    
}
